var Project =
{
    /**
     * Setup all buttons 
     */
    init: function(){
    
        $(document).on("mouseenter", '.realisation-thumb', function(){
                $(this).find('.bar').css('display','block');
           }).on("mouseleave", '.realisation-thumb',function(){
                $(this).find('.bar').css('display','none');
           });
           
         var CurAction = System.getAction();                
        if(CurAction == 'index')
        {
            $('input[name=AddNew]').click(function(){
                System.DivWindow({
                   id: "AddProjectWindow",
                   success: function(){                                                
                        var img = $('.empty-thumbnail').find('img').attr('id');
                        var name = $('#ProjectName').val();
                        var desc = $('#ProjectDesc').val();
                        var message = "";
                        if(!img)
                        {
                            message += "<li>Nie wybrano miniatury";
                        }
                        if(name.length == 0)
                        {
                            message += "<li>Nie podano nazwy projektu"; 
                        }
                        
                        if(desc.length == 0)
                        {
                            message += "<li>Pozostawiono niewypełnione pole opisu";
                        }
                        
                        if(message.length > 0)
                        {
                            System.WindowTooltip('error',"Wystąpił błąd<br/>"+message);
                            return false;
                        }
                        
                        return Project.add(img,name,desc);                        
                   },
                   cancel: function(){
                        $('.empty-thumbnail').html('');
                        $('#Project').val('');
                        $('#ProjectDesc').val('');
                   }
                });
            }); 
            
            $('.empty-thumbnail').Upload({'handle':'#thumbnail','form':'AddProject',
                callback: function(element, data)
                {
                    element.css({'opacity': 1.0});
                    element.html('<img src="/tmpimage/'+data.filename+'" id="'+data.filename+'"/>');
                }});
                
           
           
           $('img[id=remove]').each(function(){    
                $(this).click(function(){
                   Project.remove($(this));
                   });
           });
           
           $('img[id=edit]').each(function(){
                $(this).click(function(){
                    System.absRedirect('projekty-edytuj,'+$(this).attr('rid'));
                });
           });
        }else if(CurAction == 'edit')
        {
            this.addImage();
            $('#cancel').click(function(){
                System.absRedirect('projekty');
            });
            
            
            $(document).on('click','#remove',function(){
                    var input = $(this).parent().find('input');
                    if(input.attr('name') == 'old')
                    {
                        input.attr('name','del');
                        $(this).parent().parent().fadeOut(2000);
                    }
                    else if(input.attr('name') == 'new')
                    {
                        $(this).parent().parent().fadeOut(2000,function(){                        
                            $(this).remove();
                        });
                    }
            });
            
            
            $('#save').click(function(){
                var deleted = new Array();
                var added = new Array();
                
              $('input[id=image]').each(function(){                    
                    if($(this).prop('name') == "new")
                    {
                        added.push($(this).val());
                    }
                    
                    if($(this).prop('name') == "del")
                    {
                        deleted.push($(this).val());
                    }                                        
                });

                 var desc = $('#description').val();
                 var id= $('#id').val();
                 
                 $.ajax({
                        method: "POST",
                        url: System.buildEvent('UpdateProject'),
                        dataType: "json",
                        async: false,
                        data:
                        {
                            "added": added,
                            "deleted": deleted,
                            "desc": desc,
                            "id":id,
                        },
                        success: function(data)
                        {               
                            
                            if(data.result)
                            {
                                System.WindowTooltip('success',data.message,
                                    function(){
                                        $('input[id=image]').each(function(){
                                            $(this).attr('name','old').parent().parent()
                                                .find('.new-realisation').removeClass('new-realisation');
                                        });
                                    });
                            }else
                            {
                                System.WindowTooltip('error',data.message);
                            }
                        },
                        error: function(data)
                        {              
                            System.WindowTooltip('error','Wystąpił błąd działania eventu. Odczekaj chwilę.');
                        }
                 });
                
            });
        }
    },
    
    /**
     * Add image to realisation
     */
    addImage: function()
    {
        $('.empty-image-thumb').Upload({'handle':'#thumbnail','form':'AddImage',
                callback: function(element, data)
                {
                    var html = '<div class="realisation-thumb" id="newimage"><div class="bar"><img id="remove" src="/local/edit_trash.png"  title="Usuń zdjęcie"/><input name="new" id="image" type="hidden" value="'+data.filename+'"/></div><div class="new-realisation thumb"><img src="/tmpimage/'+data.filename+'"/></div><div style="clear: both"></div></div>';
                    $('#images').append(html);
                }});
                        
    },
    
    /**
     * Remove realisation from db     
     */
    remove: function(element)
    {
        rid = element.attr('rid');
        $.ajax({
            type: "POST",
            url: System.buildEvent("RemoveProject"),
            dataType: "json",
            data:{
                "rid": rid
            },
            success: function(data){
                if(data.result)
                {
                    element.parent().parent().fadeOut(1500,function(){});
                    System.WindowTooltip('success',"Pomyślnie usunięto projekt ");
                }else
                {
                    System.WindowTooltip('error',data.message);
                }
            },
            error: function(){
                System.WindowTooltip('error',"Wystąpił błąd działania eventu!");
            }
        });
    },
    
    /**
     * Add new realisation event
     */
    add: function(img, name, desc)
    {
        var status = false;
        
        $.ajax({
            type: 'POST',
            url: System.buildEvent("AddProject"),
            dataType: "json",
            data: {
                'name': name,
                'desc': desc,
                'img': img,
            },
            success: function(data)
            {                
                if(!data.result)
                {
                    System.WindowTooltip("error",data.message);
                }else{
                    System.WindowTooltip('success','Pomyślnie dodano projekt. Za chwilę nastąpi odświeżenie obecnej podstrony',function(){
                        document.location.reload();
                    });
                    status = true;
                }
            },
            error: function()
            {
                Console.log("Wystąpił błąd eventu Project.add");
                System.WindowTooltip("error","Wystąpił błąd. Proszę odczekać chwilę i spróbować ponownie");
            }
        });
        
        return status;
    }
}